From 797cecd9aef040a86c56c4c0dd7d8233455f31c5 Mon Sep 17 00:00:00 2001 From: nana-4 Date: Thu, 7 Nov 2019 22:00:20 +0900 Subject: [PATCH] Adwaita: Make check & radio symbolic icon style in popover.menu The disabled modelbutton color needs to be specified explicitly in order for check & radio to properly read the color with currentColor. https://gitlab.gnome.org/GNOME/gtk/issues/1824 --- gtk/theme/Adwaita/_common.scss | 13 +++++++++++++ gtk/theme/Adwaita/gtk-contained-dark.css | 10 +++++++--- gtk/theme/Adwaita/gtk-contained.css | 10 +++++++--- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/gtk/theme/Adwaita/_common.scss b/gtk/theme/Adwaita/_common.scss index 357ee5d4eb..bec0dce2b5 100644 --- a/gtk/theme/Adwaita/_common.scss +++ b/gtk/theme/Adwaita/_common.scss @@ -1031,6 +1031,12 @@ modelbutton.flat, &:hover { background-color: $popover_hover_color; } + &:disabled { + color: $insensitive_fg_color; + + &:backdrop { color: $backdrop_insensitive_color; } + } + &:selected { @extend %selected_items; } &:backdrop, @@ -2929,6 +2935,7 @@ radio { &:disabled { @include button(osd-insensitive); } } + @at-root %menu_check_radio, menu menuitem & { margin: 0; // this is a workaround for a menu check/radio size allocation issue @@ -2989,6 +2996,7 @@ check { } menu menuitem { + @at-root %menu_check_radio, radio, check { &:checked:not(:backdrop), &:indeterminate:not(:backdrop) { transition: none; } @@ -4910,6 +4918,11 @@ popover.menu { &:dir(rtl) { margin-right: 20px; } } + & check, + & radio { + @extend %menu_check_radio; + } + & arrow.left, & radio.left, & check.left { diff --git a/gtk/theme/Adwaita/gtk-contained-dark.css b/gtk/theme/Adwaita/gtk-contained-dark.css index 8ec5f683dd..021397692b 100644 --- a/gtk/theme/Adwaita/gtk-contained-dark.css +++ b/gtk/theme/Adwaita/gtk-contained-dark.css @@ -415,6 +415,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: #424242; } +modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #919190; } + +modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #5b5b5b; } + modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; } modelbutton.flat arrow:hover { background: none; } @@ -1140,9 +1144,9 @@ check:backdrop, radio:backdrop { transition: 200ms ease-out; } .osd check:disabled, .osd radio:disabled { color: #8a8a89; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(58, 58, 57, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } -menu menuitem check, menu menuitem radio { margin: 0; } +popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; } -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; } +popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; } check { border-radius: 3px; -gtk-icon-size: 14px; } @@ -1164,7 +1168,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); } radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; } -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } +popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { transition: none; } treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; } diff --git a/gtk/theme/Adwaita/gtk-contained.css b/gtk/theme/Adwaita/gtk-contained.css index b896c3c52d..d67ba210cb 100644 --- a/gtk/theme/Adwaita/gtk-contained.css +++ b/gtk/theme/Adwaita/gtk-contained.css @@ -417,6 +417,10 @@ modelbutton.flat, .menuitem.button.flat { min-height: 26px; padding-left: 5px; p modelbutton.flat:hover, .menuitem.button.flat:hover { background-color: white; } +modelbutton.flat:disabled, .menuitem.button.flat:disabled { color: #929595; } + +modelbutton.flat:disabled:backdrop, .menuitem.button.flat:disabled:backdrop { color: #d4cfca; } + modelbutton.flat arrow { background: none; min-width: 16px; min-height: 16px; } modelbutton.flat arrow:hover { background: none; } @@ -1156,9 +1160,9 @@ row:selected check, row:selected radio { border-color: #185fb4; } .osd check:disabled, .osd radio:disabled { color: #919190; border-color: rgba(0, 0, 0, 0.7); background-color: transparent; background-image: image(rgba(71, 71, 71, 0.5)); background-clip: padding-box; box-shadow: none; text-shadow: none; -gtk-icon-shadow: none; } -menu menuitem check, menu menuitem radio { margin: 0; } +popover.menu check, popover.menu radio, menu menuitem check, menu menuitem radio { margin: 0; } -menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; } +popover.menu check, popover.menu radio, popover.menu check:hover, popover.menu radio:hover, popover.menu check:disabled, popover.menu radio:disabled, popover.menu check:checked, popover.menu radio:checked, popover.menu check:checked:hover, popover.menu radio:checked:hover, popover.menu check:checked:disabled, popover.menu radio:checked:disabled, popover.menu check:indeterminate, popover.menu radio:indeterminate, popover.menu check:indeterminate:hover, popover.menu radio:indeterminate:hover, popover.menu check:indeterminate:disabled, popover.menu radio:indeterminate:disabled, menu menuitem check, menu menuitem check:hover, menu menuitem check:disabled, menu menuitem check:checked, menu menuitem check:checked:hover, menu menuitem check:checked:disabled, menu menuitem check:indeterminate, menu menuitem check:indeterminate:hover, menu menuitem check:indeterminate:disabled, menu menuitem radio, menu menuitem radio:hover, menu menuitem radio:disabled, menu menuitem radio:checked, menu menuitem radio:checked:hover, menu menuitem radio:checked:disabled, menu menuitem radio:indeterminate, menu menuitem radio:indeterminate:hover, menu menuitem radio:indeterminate:disabled { min-height: 14px; min-width: 14px; background-image: none; background-color: transparent; box-shadow: none; -gtk-icon-shadow: none; color: inherit; border-color: currentColor; } check { border-radius: 3px; -gtk-icon-size: 14px; } @@ -1180,7 +1184,7 @@ radio:active, check:active { -gtk-icon-transform: scale(0, 1); } radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { -gtk-icon-transform: unset; transition: 400ms; } -menu menuitem radio:checked:not(:backdrop), menu menuitem radio:indeterminate:not(:backdrop), menu menuitem check:checked:not(:backdrop), menu menuitem check:indeterminate:not(:backdrop) { transition: none; } +popover.menu check:checked:not(:backdrop), popover.menu radio:checked:not(:backdrop), popover.menu check:indeterminate:not(:backdrop), popover.menu radio:indeterminate:not(:backdrop), radio:checked:not(:backdrop), radio:indeterminate:not(:backdrop), check:checked:not(:backdrop), check:indeterminate:not(:backdrop) { transition: none; } treeview.view check:selected:focus, treeview.view check:selected, treeview.view radio:selected:focus, treeview.view radio:selected { color: #ffffff; border-color: #185fb4; } -- 2.30.2